<?php

class News extends MY_Controller
{
	public function __construct()
	{
		parent::__construct();
		$this->load->model('server/news_model');
		$this->load->helper('common'); //加载自定义的辅助方法 common_helper
	}

	// 用于显示默认模块页面的 老版本
	public function old_index()
	{
		$this->load->library('ci_smarty');
		$this->ci_smarty->assign('content', '恭喜你位于新闻页面');
		$this->ci_smarty->display('index.html');
	}

	// 获取新闻总数
	public function news_count()
	{
		$cont = [
			'table' => 'news' //数据库表名
		];
		$data = $this->news_model->get_conunt($cont);  //返回数据的数组
		echo '数量:' . $data;
	}

	// 获取所有新闻列表。
	public function all_news()
	{
		$cont = [
			'table' => 'news' //数据库表名
		];
		$data = $this->news_model->select_all($cont);  //返回数据的数组
		print_r($data);
	}

	// 获取所有新闻列表,并且排序。
	public function all_news_Sort()
	{
		$cont = [
//			'table' => 'news', //数据库表名
			'order_by' => [
				'time' => 'ASC' // 根据时间排序
			]
		];
		$data = $this->news_model->select_all($cont);  //返回数据的数组
		print_r($data);
	}

	// 获取指定id号的文章内容。
	public function info_news()
	{
		$cont = [
			'table' => 'news', //要操作的表名
			'where' => [
				'id' => 38 //查询的id号
			]
		];
		$data = $this->news_model->select_form($cont);  //返回数据的数组
		print_r($data);
	}

	// 获取【分页】的文章，当前页面+当前页显示数量。
	public function info_news_limit()
	{
		echo "分页查询";
		$page = 1; //页数
		$limit = 10; //显示数量
		$cont = [
			'table' => 'news', //要操作的表名
			'limit' => [($page - 1) * $limit, $limit] // 获取第一页 显示10行内容
		];
		$data = $this->news_model->select_form($cont);  //返回数据的数组
		echo count($data);
		print_r($data);
	}

	// 根据【模糊查询】，文章列表，id，时间，标题，等。
	public function info_news2()
	{
		$cont = [
			'table' => 'news', //要操作的表名
			'like' => [
				'time' => '',
				'title' => '文章',
				'id' => ''
			]
		];
		$data = $this->news_model->select_form($cont);  //返回数据的数组
		print_r($data);
	}

	// 写入文章到数据库，只能一次写入【一条】。
	public function select_one()
	{
		$cont = [
			'table' => 'news', // 写入数据库表名
			'data' => [
				'title' => '新闻标题',
				'title_url' => '新闻标题图片',
				'introduction' => '新闻简介',
				'time' => 1593481448,  // 发布文章的时间戳
				'content' => '发布文章内容', // 发布文章发的内容
				'category' => 2 // 文章类别id
			]
		];
		$data = $this->news_model->insert_one($cont);
		// 判断写入是否成功！
		if ($data != 1) {
			reply(400, "写入文章失败！");
			return;
		}
		reply(200, "写入内容成功！");
		return;
	}

	// 写入文章到数据库，【多条】。
	public function select_arrs()
	{
		$cont = [
			'table' => 'news', // 写入数据库表名
			'data' => [
				[
					'title' => '新闻标题',
					'title_url' => '新闻标题图片',
					'introduction' => '新闻简介',
					'time' => 1593481448,  // 发布文章的时间戳
					'content' => '发布文章内容', // 发布文章发的内容
					'category' => 2 // 文章类别id
				],
				[
					'title' => '新闻标题2',
					'title_url' => '新闻标题图片2',
					'introduction' => '新闻简介2',
					'time' => 1593481489,
					'content' => '发布文章内容2',
					'category' => 1
				]
			]
		];

		$data = $this->news_model->insert_batch($cont);
		// 判断写入是否成功！
		if ($data == 0) {
			reply(400, "写入文章失败！");
			return;
		}
		reply(200, "写入内容成功！");
		return;
	}

	// 删除【一条】新闻数据，根据id。
	public function delete_one()
	{
		$cont = [
			'table' => 'news', // 数据库表名
			'where' => [
				'id' => 44 // 根据文章id删除文章
			]
		];
		$this->news_model->delete($cont);
		reply(200, "文章删除成功！");
		return;
	}

	// 删除【多条】数据，根据id。
	public function delete_arrs()
	{
		$cont = [
			'table' => 'news', // 数据库表名
			'or_where' => [
				['id' => 46],
				['id' => 47]
			]
		];
		$this->news_model->delete($cont);
		reply(200, "文章删除成功v2！");
		return;
	}

	//一个intdex执行所有操作。
	public function news_index()
	{
		$where=[];
		$like=[];
		$order_by=[];
		if ($this->input->get('select') != null) {

			$where['id']=$this->input->get('id');
			$where['category']=$this->input->get('category');

			$like['title']=$this->input->get('like');
			$like['id']=$this->input->get('like');

			$page=$this->input->get('page');
			$limit=$this->input->get('limit');

			if ($this->input->get('order_by')!=null){
				$order_by['time']=$this->input->get('order_by');
			}else{
				$order_by['time']='DESC';
			}

			$cont=[
				'where'=>$where,
				'like'=>$like,
				'limit' => [($page - 1) * $limit, $limit],
				'order_by'=>$order_by
			];
			$data = $this->news_model->select_form($cont);  //返回数据的数组
			print_r($data);
		} else if ($this->input->get('delete') != null) {

		} else if ($this->input->get('info') != null) {

		}
	}

	//查询操作
	public function select_news(){
		$page = $_GET["page"];
		$limit = $_GET["limit"];
		$like = $_GET["like"]; //标题查询
		$content=$_GET["content"]; //文章分类查询

		if ($like==null){
			$like=null;
		}else{
			$like=['title'=>$like];
		}

		if ($content==null){
			$content=null;
		}else{
			$content=['content'=>$content];
		}
		$cont = [
			'table' => 'news', //要操作的表名
			'where'=>$content,
			'like'=>$like,
			'limit' => [($page - 1) * $limit, $limit] // 获取第一页 显示10行内容
		];
		$data = $this->news_model->select_form($cont);  //返回数据的数组
		$data=['tableData'=>$data];
		echo $data;
	}
}
